package com.example.controller;

import com.example.pojo.Result;
import com.example.pojo.measuringToolChecklistPojo;
import com.example.pojo.measuringToolsListPojo;
import com.example.service.measuringToolChecklistService;
import com.example.service.measuringToolsListService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
import java.util.Map;

/*
 */

//声明这个类负责接收前端请求并返回响应
@RestController
//规定控制台输出的格式
@Slf4j
//定义一个公开访问的类，即controller，类名命名规则：页面名+Controller
public class goodProductConditionsController {

    //自动依赖注入，自动将 measuringToolsListService 的实例注入到当前类，并会给service中自动生成一段代码
    @Autowired
    private measuringToolsListService measuringToolsListService;
    @Autowired
    private measuringToolChecklistService measuringToolChecklistService;

    //声明该方法处理 POST 请求，路径为 /insertMeasuringToolsListGoodProduct
    //向计量器具基本信息表中插入一行数据
    @PostMapping("/insertMeasuringToolsListGoodProduct")
    //接收返回值
    public Result insertMeasuringToolsListGoodProduct(@RequestBody measuringToolsListPojo pojo){
        //将接收到的pojo对象传递给 measuringToolsListService.insertOne() 方法，执行插入逻辑
        measuringToolsListService.insertOne(pojo);
        //打印输入的值，用于调试
        System.out.println(pojo);
        //返回一个成功的 Result 对象，消息为“插入成功”
        return Result. success("插入成功");
    }

    //查询计量器具基本信息表中所有的数据
    @PostMapping("/queryMeasuringToolsListAllGoodProduct")
    public Result queryMeasuringToolsListAllGoodProduct(){
        //调用measuringToolsListService.queryAll()方法获取数据
        //返回结果存储在List<measuringToolsListPojo>类型的pojoList变量中
        List<measuringToolsListPojo> pojoList = measuringToolsListService.queryAll();
        //打印输入的值，用于调试
        System.out.println(pojoList);
        //返回一个成功的 Result 对象，对象为表单中所有数据
        return Result.success(pojoList);
    }

    //根据IdUse编辑某一行数据
    //处理前端post请求，接通与前端的接口路径，（最好从前端复制过来，避免写错）
    @PostMapping("/editMeasuringToolsListGoodProduct")
    public Result editMeasuringToolsListGoodProduct(@RequestBody measuringToolsListPojo pojo){
        //将接收到的pojo对象传递给 measuringToolsListService..editOneByIdUse() 方法，执行编辑某一行逻辑
        measuringToolsListService.editOneByIdUse(pojo);
        //返回一个成功的 Result 对象，消息为“修改成功”
        return Result.success("修改成功");
    }
    //接收创建时间字段的数据，定一个接收范围
    //处理前端post请求，接通与前端的接口路径，（最好从前端复制过来，避免写错）
    @PostMapping("/queryMeasuringToolChecklistOneFieldScopeGoodProduct")
    public Result queryMeasuringToolChecklistOneFieldScopeGoodProduct(@RequestBody Map<String,Object> map){
        List<measuringToolChecklistPojo> pojoList= measuringToolChecklistService.queryOneField(map);
        return Result.success(pojoList);
    }
}
